// Nikki UI 主题定义

export interface ThemeColors {
  // 主色调
  primary: {
    light: string
    main: string
    dark: string
    gradient: string
  }

  // 次要色调
  secondary: {
    light: string
    main: string
    dark: string
    gradient: string
  }

  // 轮廓色调
  outline: {
    main: string
    border: string
  }

  // 背景色
  background: {
    primary: string
    secondary: string
    card: string
    overlay: string
  }

  // 文字颜色
  text: {
    primary: string
    secondary: string
    disabled: string
  }

  // 阴影颜色
  shadow: {
    primary: string
    secondary: string
  }
}

export interface Theme {
  name: string
  colors: ThemeColors
}

// 梦幻粉色主题
export const pinkTheme: Theme = {
  name: 'pink',
  colors: {
    primary: {
      light: '#FFB6C1',
      main: '#FF9ACD',
      dark: '#FF69B4',
      gradient: 'linear-gradient(135deg, #FF9ACD 0%, #FFB6C1 50%, #FFC0CB 100%)',
    },
    secondary: {
      light: '#F5FFFA',
      main: '#E6E6FA',
      dark: '#F0F8FF',
      gradient: 'linear-gradient(135deg, #E6E6FA 0%, #F0F8FF 50%, #F5FFFA 100%)',
    },
    outline: {
      main: '#FF9ACD',
      border: 'linear-gradient(135deg, #FF9ACD 0%, #FFB6C1 50%, #FFC0CB 100%)',
    },
    background: {
      primary: '#FFF5F7',
      secondary: '#FFEBF0',
      card: 'rgba(255, 255, 255, 0.95)',
      overlay: 'rgba(255, 255, 255, 0.9)',
    },
    text: {
      primary: '#333333',
      secondary: '#6B46C1',
      disabled: '#AAAAAA',
    },
    shadow: {
      primary: 'rgba(255, 154, 205, 0.3)',
      secondary: 'rgba(230, 230, 250, 0.3)',
    },
  },
}

// 梦幻蓝色主题
export const blueTheme: Theme = {
  name: 'blue',
  colors: {
    primary: {
      light: '#5DADE2',
      main: '#3498DB',
      dark: '#2874A6',
      gradient: 'linear-gradient(135deg, #3498DB 0%, #5DADE2 50%, #85C1E9 100%)',
    },
    secondary: {
      light: '#EBF5FB',
      main: '#D6EAF8',
      dark: '#AED6F1',
      gradient: 'linear-gradient(135deg, #D6EAF8 0%, #EBF5FB 50%, #F4F6F7 100%)',
    },
    outline: {
      main: '#3498DB',
      border: 'linear-gradient(135deg, #3498DB 0%, #5DADE2 50%, #85C1E9 100%)',
    },
    background: {
      primary: '#EBF5FB',
      secondary: '#D6EAF8',
      card: 'rgba(255, 255, 255, 0.95)',
      overlay: 'rgba(255, 255, 255, 0.9)',
    },
    text: {
      primary: '#333333',
      secondary: '#2874A6',
      disabled: '#AAAAAA',
    },
    shadow: {
      primary: 'rgba(52, 152, 219, 0.3)',
      secondary: 'rgba(93, 173, 226, 0.3)',
    },
  },
}

// 梦幻紫色主题
export const purpleTheme: Theme = {
  name: 'purple',
  colors: {
    primary: {
      light: '#CE93D8',
      main: '#9C27B0',
      dark: '#7B1FA2',
      gradient: 'linear-gradient(135deg, #9C27B0 0%, #BA68C8 50%, #CE93D8 100%)',
    },
    secondary: {
      light: '#F3E5F5',
      main: '#E1BEE7',
      dark: '#CE93D8',
      gradient: 'linear-gradient(135deg, #E1BEE7 0%, #F3E5F5 50%, #F8F0FC 100%)',
    },
    outline: {
      main: '#9C27B0',
      border: 'linear-gradient(135deg, #9C27B0 0%, #BA68C8 50%, #CE93D8 100%)',
    },
    background: {
      primary: '#F8F4FF',
      secondary: '#F3E5FF',
      card: 'rgba(255, 255, 255, 0.95)',
      overlay: 'rgba(255, 255, 255, 0.9)',
    },
    text: {
      primary: '#333333',
      secondary: '#7B1FA2',
      disabled: '#AAAAAA',
    },
    shadow: {
      primary: 'rgba(156, 39, 176, 0.3)',
      secondary: 'rgba(206, 147, 216, 0.3)',
    },
  },
}

// 默认主题
export const defaultTheme = pinkTheme

// 所有可用主题
export const themes = {
  pink: pinkTheme,
  blue: blueTheme,
  purple: purpleTheme,
}

export type ThemeName = keyof typeof themes
